/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package cl.BEANs;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import cl.POJOs.*;
import cl.DAOs.*;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.RequestScoped;
import javax.faces.context.ExternalContext;

import javax.faces.context.FacesContext;

/**
 *
 * @author Administrador
 */
@ManagedBean 
@SessionScoped
@RequestScoped
public class EstudianteBean {

    private Estudiante est;
    private EstudianteDAO estudianteDAO = new EstudianteDAO();
    private List<Estudiante> lsEstudiantes;
    
    public EstudianteBean(){
        est = new Estudiante();
        est.setDireccion(new Direccion());
    }

    public Estudiante getEst() {
        return est;
    }

    public void setEst(Estudiante est) {
        this.est = est;
    }

   

    public String registrar() throws Exception {
        estudianteDAO.Registrar(est);
        ExternalContext ext = FacesContext.getCurrentInstance().getExternalContext();
        ext.redirect("index.xhtml");
        return "index";
    }

    public String verificarDatos() throws Exception {
        EstudianteDAO estdao = new EstudianteDAO();
        Estudiante estudiante;
        String resultado;

        try {
            estudiante = estdao.verificarDatos(this.est);
            if (estudiante != null) {
                FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("est", estudiante);

                resultado = "estudianteintranet";
            } else {
                resultado = "error";
            }

        } catch (Exception e) {
            throw e;
        }
        return resultado;
    }

    public boolean verificarSesion() {
        boolean estado;

        if (FacesContext.getCurrentInstance().getExternalContext()
                .getSessionMap().get("est") == null) {
            estado = false;
        } else {
            estado = true;
        }

        return estado;
    }

    public String cerrarSesion() {
        FacesContext.getCurrentInstance().getExternalContext()
                .invalidateSession();
        return "index";
    }
   

}
